技術問答
技術文章
iT 徵才
Tag
聊天室
2025 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
第 11 屆 iThome 鐵人賽
DAY
21
0
自我挑戰組
Javascript 犀牛本-濃縮再濃縮 提煉再提煉
系列 第
21
篇
Day 21: 事件處理 (Part 1)
11th鐵人賽
javascript
javascript 大全
7ackson
2019-10-07 22:07:33
1120 瀏覽
分享至
事件類型
表單事件
表單在送出時會發出submit事件,重置時會發出reset事件。
按鈕類(<button>包含radio、checkbox)點擊時會有click事件。
change事件會在使用者與表單互動完畢,然後轉移焦點至其他元素或按下tab才會觸發。
表單元素會在它們取得或失去鍵盤焦點時發出focus或blur事件。(focus/blur不會有bubble)
window事件
load事件: 當文件和所有資源都已載入完成後,會觸發。(readystatechange與DOMContentLoaded是load事件的替代方法除了外部資源可能未載入完成,但document與元素都以載入完畢就會觸發)
unload事件: 當使用者導覽至其他document離開目前的document觸發。(unload可用來儲存使用者狀態但無法取消導覽,beforeunload類似unload,但它有機會向使用者詢問是否離開的確認)
onerror事件: JavaScript發生錯誤時會被觸發。
focus/blur: 也可用在window物件,當瀏覽器視窗取得或失去焦點時會觸發。
resize / scroll事件
滑鼠事件
傳給滑鼠事件處理器具有一組特性,用來描述滑鼠位置與滑鼠按鍵的狀態。
clientX/clientY表示滑鼠在視窗的座標。
button/which表示按下了哪個滑鼠按鍵。
altKey/ctrlKey/metaKey/shiftKey搭配鍵盤按下鍵盤修飾鍵回傳true。
click事件下,在detail指出單擊或雙擊。
mousemove事件: 移動或拖拉滑鼠時會被觸發。
mousedown/mouseup事件: 滑鼠按下與放開時觸發。
藉由mousemove和mousedown來偵測拖拉動作。
當滑鼠移到元素上方,瀏覽器會在元素上發出mouseover事件,移開時會發出mouseout事件。(mouseover/mouseout會有bubble)
relatedTarget特性: 指出在轉移過程中所涉及的元素。
mousewheel事件: 在滾動滑鼠時觸發。
key事件
瀏覽器取得鍵盤事件。
傳給鍵盤事件處理器的物件裡會有keyCode特性。
鍵盤按下後事件發生順序: keydown->keypress->keyup。
HTML5事件
新增了<audio>和<vidio>元素有一系列的事件(paly/playing/waiting/ended/...)
drag and drop API定義了七個事件(dragstart/drag/dragend/drapenter/dragover/dragleave/drop)
歷史瀏覽管理機制: hashchange和popstate事件。
Html表單定義了表單驗證機制,驗證失敗會發出invaild事件。
觸控與行動裝置事件
touchscreen事件類似滑鼠的click和scroll事件,
apple 產品會有gesture(手勢)、touch(觸碰)事件,旋轉時會有orientationchange事件
留言
追蹤
檢舉
上一篇
Day 20: JavaScript操作CSS
下一篇
Day 22: 事件處理 (Part 2)
系列文
Javascript 犀牛本-濃縮再濃縮 提煉再提煉
共
30
篇
目錄
RSS系列文
訂閱系列文
11
人訂閱
26
Day 26: JavaScript操作媒體與圖形 (Part 2)
27
Day 27: HTML5 API (Part 1)
28
Day 28: HTML5 API (Part 2)
29
Day 29: jQuery (Part 1)
30
Day 30: jQuery (Part 2)
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
19772
篇
完賽人數
529
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
桌機三更半夜自動開機不知在幹啥?是在下載還是在上傳資料?嚇死寶寶.去查設定我沒有設定在三更半夜更新或是掃毒呀!去查紀錄亦沒有當日凌晨的瀏覽紀錄,這到底是怎麼一回事,要如何查詢?是被安裝了病毒軟體?
碩士學歷能幫助我突破職涯天花板嗎?
群輝NAS套件Docker部署Outline
維護合約的合理性
如何讓Windows 11 Professional 開啟Synology DS925+網路芳鄰的速度加快?
librenms 25.4.0 重開機都要重新設定
Librenms ssl憑證檢查 通知方式
熱門回答
碩士學歷能幫助我突破職涯天花板嗎?
維護合約的合理性
群輝NAS套件Docker部署Outline
桌機三更半夜自動開機不知在幹啥?是在下載還是在上傳資料?嚇死寶寶.去查設定我沒有設定在三更半夜更新或是掃毒呀!去查紀錄亦沒有當日凌晨的瀏覽紀錄,這到底是怎麼一回事,要如何查詢?是被安裝了病毒軟體?
librenms 25.4.0 重開機都要重新設定
熱門文章
資安入門與實務應用介紹 29:智能合約漏洞與加密貨幣詐騙案例分析
資安入門與實務應用介紹 28:APT(高階持續性威脅)攻擊解析與防範方法
Day 7:防火牆配置與流量過濾(Firewall Configuration and Traffic Filtering)
C++開啟資料夾及檔案的方法
打造你的第一個 MCP Server:從概念到實作
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}